home *** CD-ROM | disk | FTP | other *** search
- .title k11st1 the SET command,overlay one
- .ident /2.0.43/
-
-
-
- .if ndf, K11INC
- .ift
- .include /IN:K11MAC.MAC/
- .include /IN:K11CDF.MAC/
- .endc
-
-
- .macro decout val
- mov val ,-(sp)
- call numout
- .endm decout
-
- .enabl gbl
- .enabl lc
- .psect $code
-
- $cmglob = 0
-
- ; Copyright (C) 1984 Change Software, Inc.
- ;
- ; 31-Jan-84 15:13:45 Brian Nelson
- ;
- ; Removed SET command code from K11CMD.MAC for space saving via
- ; placement into an overlay.
-
-
-
- global <argbuf,argpnt>
-
-
- .psect $code
-
-
- .sbttl things from k11st0 needed in k11st1
- .enabl lsb
-
-
-
- sd$off: bic #log$al ,trace ; clear all debug bits now
- bit #log$op ,trace ; is there a log file open ?
- beq 20$ ; no
- calls close ,<#lun.lo> ; close it
- bic #log$op ,trace ; say it's closed please
- message <Debug file closed>,cr
- 20$: clr r0
- return
-
- ttchk: tstb ttname ; insure a line is set
- beq 10$ ; ok
- clc
- return
- 10$: message <Please use the SET LINE command>,cr
- sec
- return
-
- .dsabl lsb
-
-
- .sbttl set block-check-type
-
-
-
- set$bl::calls getcm0 ,<argpnt,#blklst>; find out which option was given
- tst r0 ; did we find one
- bmi 110$ ; no
- jsr pc ,@r1 ; dispatch now
- clr r0 ; no errors
- 110$: return
-
-
-
- $cmglob = 0
-
- command blklst ,1_CHARACTER_CHECKSUM ,1 ,sbl$1
- command blklst ,2_CHARACTER_CHECKSUM ,1 ,sbl$2
- command blklst ,3_CHARACTER_CRC_CCITT ,1 ,sbl$3
- command blklst ,1-CHARACTER-CHECKSUM ,1 ,sbl$1
- command blklst ,2-CHARACTER-CHECKSUM ,1 ,sbl$2
- command blklst ,3-CHARACTER-CRC-CCITT ,1 ,sbl$3
- command blklst ,ONE_CHARACTER_CHECKSUM ,3 ,sbl$1
- command blklst ,TWO_CHARACTER_CHECKSUM ,3 ,sbl$2
- command blklst ,THREE_CHARACTER_CRC_CCITT,3 ,sbl$3
- command blklst ,ONE-CHARACTER-CHECKSUM ,3 ,sbl$1
- command blklst ,TWO-CHARACTER-CHECKSUM ,3 ,sbl$2
- command blklst ,THREE-CHARACTER-CRC-CCITT,3 ,sbl$3
- command blklst
-
-
-
- sbl$1: movb #'1 ,setrec+p.chkt
- movb #'1 ,setsen+p.chkt
- return
-
-
- sbl$2: movb #'2 ,setrec+p.chkt
- movb #'2 ,setsen+p.chkt
- return
-
-
- sbl$3: movb #'3 ,setrec+p.chkt
- movb #'3 ,setsen+p.chkt
- return
-
- global <argbuf ,conpar ,setrec ,setsen ,senpar>
-
-
-
-
-
-
- .sbttl set dtr and hangup line
-
-
- set$dt::call ttchk ; must have already done a SET LINE
- bcs 100$ ; oops
- calls ttydtr ,<#ttname> ; try to raise DTR on the line
- tst r0 ; did it work ?
- beq 100$ ; yes
- direrr r0 ; no, emit a message as to why
- 100$: clr r0 ; and exit
- return
-
-
-
- c$disc::
- c$hang::$name <HAN>
- set$hu::call ttchk ; must have already done a SET LINE
- bcs 100$ ; oops
- calls ttyhang ,<#ttname> ; try to hang up the line
- tst r0 ; did it work ?
- beq 100$ ; yes
- direrr r0 ; no, emit a message as to why
- clr r0
- return
- 100$: message <KERMIT link >
- print #ttname
- message < disconnected>,cr
- return
-
- global <ttname>
-
-
-
-
- .sbttl set filetype
-
-
- set$fi::calls getcm0 ,<argpnt,#setfil>
- tst r0 ; did we find a keyword ?
- bmi 100$ ; no
- jsr pc ,@r1 ; yes, dispatch on it please
- 100$: return
-
-
-
- sf$typ: mov argpnt ,r0 ; this is a KLUDGE, ignore 'TYPE'
- 10$: tstb @r0 ; find EOS as of yet ?
- beq 90$ ; yes, exit with an error
- cmpb (r0)+ ,#40 ; found a delimiter yet ?
- bne 10$ ; no, keep looking
- calls getcm0 ,<r0,#setfil> ; yes, recheck the table for type
- tst r0 ; did it work ?
- bmi 90$ ; no
- jsr pc ,@r1 ; yes, dispatch on it please
- clr r0 ; no errors
- br 100$ ; exit
- 90$: mov #-1 ,r0 ; error
- 100$: return
-
-
-
- sf$asc: mov #text ,$image ; imagemode := false
- message <Ascii text mode set>,cr; confirm it
- clr r0 ; no errors
- return ; bye
-
-
-
- sf$bin: call xbin
- mov #binary ,$image ; imagemode := true
- message <Binary mode set>,cr ; confirm it
- clr r0 ; no errors
- return ; bye
-
-
-
- sf$dec: call xbin ; SF$DEC added /52/
- MESSAGE <DEC_Multinational mode set>,CR
- mov #DECNAT ,$image
- clr r0 ; No errors
- return ; Exit
-
- sf$aut: mov sp ,doauto ; allow checking of file type and
- clr r0 ; attributes to see if the file should
- return ; be sent as a binary file
-
- sf$noa: clr doauto ; never check the file out
- clr r0 ; no errors
- return
-
-
- sf$sup: clr filprot ; supercede created files
- clr r0
- return
-
- sf$nos: mov sp ,filprot ; do not supercede files
- clr r0
- return
-
- .enabl lsb
-
- xbin: tstb parity
- beq 100$
- cmpb parity ,#par$no ; has it been set to none ?
- beq 100$ ; yes
- message <The other Kermit must be able to support 8 bit prefixing>,cr
- message <Without this feature, the high bit will be lost on every>,cr
- message <character sent>,cr
- message
- 100$: return
-
- .dsabl lsb
-
-
- command setfil ,SUPERCEDE ,2 ,sf$sup
- command setfil ,NOPROTECT ,3 ,sf$sup
- command setfil ,NOSUPERCEDE ,3 ,sf$nos
- command setfil ,PROTECT ,2 ,sf$nos
-
- command setfil ,7_BIT ,1 ,sf$asc
- command setfil ,7-BIT ,1 ,sf$asc
- command setfil ,8_BIT ,1 ,sf$dec
- command setfil ,8-BIT ,1 ,sf$dec
- command setfil ,ASCII ,2 ,sf$asc
- command setfil ,BINARY ,2 ,sf$bin
- command setfil ,EIGHT ,2 ,sf$bin
- command setfil ,SEVEN ,2 ,sf$asc
- command setfil ,EIGHT_BIT ,2 ,sf$dec
- command setfil ,SEVEN_BIT ,2 ,sf$asc
- command setfil ,EIGHT-BIT ,2 ,sf$dec
- command setfil ,SEVEN-BIT ,2 ,sf$asc
- command setfil ,FIXED ,2 ,sf$bin
- command setfil ,IMAGE ,2 ,sf$bin
- command setfil ,AUTO ,3 ,sf$aut
- command setfil ,NOAUTO ,3 ,sf$noa
- command setfil ,TYPE ,3 ,sf$typ
- command setfil ,TEXT ,2 ,sf$asc
- command setfil ,TXT ,2 ,sf$asc
- command setfil ,DEC_MULTINATIONAL,2 ,sf$dec
-
- ; The following two added /54/ 09-Sep-86 14:48:42 to resolve
- ; problems accessing decnet files.
-
- command setfil ,NAMES ,2 ,sf$nam
- command setfil ,NAMING ,2 ,sf$nam
- command setfil
-
-
- .ASSUME TEXT EQ 0
- .ASSUME BINARY EQ 1
- .ASSUME DECNAT EQ 2
-
- global <argbuf ,$image>
-
-
-
- .sbttl SET FILE NAM option ; Added /54/ 09-Sep-86 14:46:48
-
-
- sf$nam: mov argpnt ,r0 ; /54/ Get current pointer
- 10$: tstb @r0 ; /54/ Find EOS as of yet ?
- beq 90$ ; /54/ Yes, exit with an error
- cmpb (r0)+ ,#40 ; /54/ Found a delimiter yet ?
- bne 10$ ; /54/ No, keep looking
- calls getcm0 ,<r0,#sfname> ; /54/ Yes, recheck the table for type
- tst r0 ; /54/ Did it work ?
- bmi 90$ ; /54/ No
- jsr pc ,@r1 ; /54/ Yes, dispatch on it please
- clr r0 ; /54/ No errors
- br 100$ ; /54/ Exit
- 90$: mov #-1 ,r0 ; /54/ Error
- 100$: return
-
-
- sfn$tr: clr rawfil ; /54/ The default, always convert
- return ; /54/ Exit
-
- sfn$fu: mov sp ,rawfil ; /54/ Don't remove extra stuff, like
- return ; /54/ node names and so on.
-
- command sfname ,CONVERTED ,1 ,sfn$tr
- command sfname ,FULL ,1 ,sfn$fu
- command sfname ,LITERAL ,1 ,sfn$fu
- command sfname ,TRANSLATED ,1 ,sfn$tr
- command sfname
-
- GLOBAL <rawfil> ; End /54/ edits
-
-
-
- .sbttl set BINARY-TYPE .ext
- .enabl lsb
-
-
- set$bi::save <r1,r2,r3> ; save work registers please
- sub #100 ,sp ; allocate some work space
- mov sp ,r3 ; and a pointer to it please
- clrb @r3 ; insure .asciz
- mov argpnt ,r2 ; get the argbuf pointer now
- cmpb @r2 ,#'. ; is there a leading dot ?
- beq 10$ ; yes
- movb #'. ,(r3)+ ; no, insert one please
- clrb @r3 ; asciz please
- 10$: strcat r3 ,r2 ; concat the filetype now
- mov sp ,r3 ; point back to the buffer
- strlen r3 ; get the length
- cmp r0 ,#4 ; it must be exactly 4 chars
- beq 20$ ; ok
- message <The filetype must be of the form .xyz>,cr
- message <as in: SET BIN .SAV or SET BIN .TSK>,cr
- br 90$ ; error exit
- 20$: tst binset ; have we been here before
- bne 30$ ; yes
- message <The default binary filetype list has been deleted>,cr
- mov bintyp ,r1
- clrb @r1 ; insure that it's been done
- mov sp ,binset ; flag we have been here before
- 30$: strcat bintyp ,r3 ; concat the new one onto the list
- clr r0 ; exit with success
- br 100$ ; exit
-
- 90$: mov #-1 ,r0 ; failure
- 100$: add #100 ,sp ; pop local buffer and then ....
- unsave <r3,r2,r1> ; pop registers
- return ; bye
-
-
- .dsabl lsb
-
-
-
-
- .sbttl more set routines
-
- ; SET$DF set a default filename string for all file opens
- ; and creates.
-
-
-
- .enabl lsb
-
- set$df::copyz argpnt ,#defdir,#filsiz; setup a default directory
- calls fparse ,<#200$,#filnam>; try to parse it to see if
- tst r0 ; if the string is valid
- beq 10$ ; ok
- message <Error from $PARSE - > ;
- direrr r0 ; no, print the error out
- clrb defdir
- br 100$
-
- 10$: message <Directory for files set to >
- print #defdir
- message
- 100$: clr r0
- return
-
- .save
- .psect $PDATA ,D
- 200$: .asciz /JUNK.DAT/
- .even
- .restore
-
- global <filsiz>
-
- .dsabl lsb
-
-
- set$ho::clrb defdir
- message <Directory set back to none (SY:)>,cr
- clr r0
- return
-
-
- ; S E T $ L O
- ;
- ; SET LOGFILE filespec
- ;
- ; set and create the logfile
-
- .enabl lsb
-
- c$logf::
- set$lo::call sd$off ; insure previous file is closed
- tst logapp ; /41/ Append log files?
- bne 10$ ; /41/ Yes
- calls create ,<argpnt,#lun.lo,#text>; handle SET DEBUG FILE filename
- br 20$ ; /41/ Check for errors
- 10$: calls append ,<argpnt,#lun.lo,#text>; handle SET DEBUG FILE filename
- 20$: tst r0 ; did the logfile create work ?
- beq 30$ ; yes
- direrr r0 ; no,print the error out
- return
- 30$: bis #log$op ,trace ; yes, say it's open please
- copyz argpnt ,#logfil,#30 ; save the debug filename for show
- tst infomsg ; /41/ Verbose today?
- beq 100$ ; /41/ No
- message <Opened Log_file > ; /41/ say we did it
- print argpnt ; at last, confirm the logfile name
- message ; crlf
- 100$: return ; exit
-
- global <argbuf ,defdir,logapp>
-
- .dsabl lsb
-
-
-
-
-
-
- .sbttl set send and set receive
- .enabl lsb
-
- set$wi::message <Kermit-11 supports the LONG PACKET extension.>,cr
- message <It does not support SLIDING WINDOWS>,cr
- clr r0
- return
-
-
- set$rc::mov #reclst ,r3
- call 200$
- tst r0
- beq 10$
- message <%SET-W Unknown option in SET RECEIVE>,cr
- 10$: return
-
- set$sn::mov #senlst ,r3
- call 200$
- tst r0
- beq 20$
- message <%SET-W Unknown option in SET SEND>,cr
- 20$: return
-
-
- 200$: calls getcm0 ,<argpnt,r3> ; find out which option was given
- tst r0 ; did we find the option ?
- bmi 300$ ; no
- 220$: calls getcm1 ,<argpnt,r3,r0> ; yes, look for value clause now
- tst r0 ; find it (or read it?)
- bmi 300$ ; no
- mov argbuf ,argpnt ; yes. GETCM1 always returns in ARGBUF
- jsr pc ,@r1 ; dispatch to correct action
- br 310$ ; and exit
- 300$: mov #1 ,r0 ; exit on error
- 310$: mov argbuf ,argpnt ; insure argpnt is reset to default
- return ; exit
-
- .dsabl lsb
-
- command reclst ,END-OF-LINE ,3 ,set$eo,<EOLN char ? >,string
- command reclst ,PACKET-SIZE ,3 ,str$pl,<Packet Length ? >,decnum
- command reclst ,PACKET-LENGTH ,3 ,str$pl,<Packet Length ? >,decnum
- command reclst ,PAUSE ,3 ,set$ps,<Pause time ? >,decnum
- command reclst ,START-OF-PACKET,3 ,str$so,<Octal valule of SOH ? >,octnum
- command reclst ,START_OF_PACKET,3 ,str$so,<Octal valule of SOH ? >,octnum
- command reclst ,TIMEOUT ,3 ,set$ti,<Packet timeout ? >,decnum
- command reclst ,PADCHARACTER ,4 ,str$pd,<Padding char (octal) ? >,octnum
- command reclst ,PADDING ,4 ,str$pn,<Number of pad chars ? >,decnum
- command reclst
-
- command senlst ,END-OF-LINE ,3 ,set$eo,<EOLN char ? >,string
- command senlst ,PACKET-LENGTH ,3 ,sts$pl,<Packet Length ? >,decnum
- command senlst ,PACKET-SIZE ,3 ,sts$pl,<Packet Length ? >,decnum
- command senlst ,PAUSE ,3 ,set$ps,<Pause time ? >,decnum
- command senlst ,START-OF-PACKET,3 ,sts$so,<Octal valule of SOH ? >,octnum
- command senlst ,START_OF_PACKET,3 ,sts$so,<Octal valule of SOH ? >,octnum
- command senlst ,TIMEOUT ,3 ,set$ti,<Packet timeout ? >,decnum
- command senlst ,PADCHARACTER ,4 ,sts$pd,<Padding char (octal) ? >,octnum
- command senlst ,PADDING ,4 ,sts$pn,<Number of pad chars ? >,decnum
- command senlst ,XON ,3 ,sts$xo
- command senlst ,NOXON ,3 ,sts$nx
- command senlst
-
-
-
-
-
- .sbttl set end-of-line octalvalue, set packetlength and set pause
-
- sts$so: call setsop
- tst r0
- bne 100$
- mov r1 ,sensop
- 100$: return
-
- str$so: call setsop
- tst r0
- bne 100$
- mov r1 ,recsop
- 100$: return
-
- set$so::call setsop
- tst r0
- bne 100$
- mov r1 ,recsop
- mov r1 ,sensop
- 100$: return
-
- setsop: calls octval ,<argpnt> ; get the octal value
- tst r0 ; check for errors
- bne 80$ ; exit if so
- tst r1 ; insure in range 1..36
- beq 90$ ; no, exit
- cmp r1 ,#36 ; ...
- bgt 90$ ; ...
- 80$: return
- 90$: message <The SOH character must be between 1 and 36 octal>,cr
- mov #1 ,r0
- return
-
-
- global <recsop ,sensop>
-
- sts$xo: mov sp ,prexon ; /53/ Prefix packets with XON
- clr r0 ; /53/ Success
- return ; /53/ Exit
-
- sts$nx: clr prexon ; /53/ Don't prefix with XON
- clr r0 ; /53/ Success
- return ; /53/ Exit
-
- GLOBAL <PREXON> ; /53/ Defined in K11DAT
-
-
-
- set$eo::calls octval ,<argpnt> ; get the octal value now
- tst r0 ; did it work ?
- bne 100$ ; no
- movb r1 ,senpar+p.eol ; yes,stuff it in there please
- movb r1 ,setsen+p.eol ; yes,stuff it in there please
- clr r0
- 100$: return ; bye
-
-
-
-
- set$ps::calls l$val ,<argpnt> ; get the value
- tst r0 ; well ?
- bne 100$ ; no, bad value
- mov r1 ,pauset ; ok
- 100$: return
-
- set$dl::calls l$val ,<argpnt> ; get the value
- tst r0 ; well ?
- bne 100$ ; no, bad value
- mov r1 ,sendly ; ok
- 100$: return
-
-
-
- global <argbuf ,conpar ,conesc ,pauset ,sendly>
-
-
-
-
-
-
-
-
-
- .sbttl set rec pac and set sen pac
-
- .enabl lsb
-
- str$pl: strcmp argpnt ,#ps$max ; /43/ Was it SET REC PAC MAX?
- tst r0 ; /43/ Well?
- bne 5$ ; /43/ No
- call inqbuf ; /43/ Yes, find out what this
- mov r0 ,r1 ; /43/ Save it here and then be
- tst infomsg ; /43/ Being verbose today?
- beq 10$ ; /43/ Not really.
- message <Receive buffer size set to > ; /43/
- decout r1 ; /43/ Tell user what we set it to
- message ; /43/
- br 10$ ; /43/ be off to common code.
- 5$: calls l$val ,<argpnt> ; /43/ Get the user's size
- tst r0 ; /43/ Successful?
- bne 100$ ; /43/ No, just exit then
- cmp r1 ,#96. ; /43/ huge packets today?
- bgt 10$ ; /43/ Yes
- movb r1 ,setrec+p.spsiz ; /43/ set up it
- movb r1 ,senpar+p.spsiz ; /43/ It actually goes HERE
- clr reclng ; /43/ Clear this
- br 30$ ; /43/ And reset MAXL1 and MAXL2
-
- 10$: call inqbuf ; /43/ Find out MAX buffer size
- cmp r0 ,#MAXLNG ; /43/ Will this fit internally?
- blos 15$ ; /43/ Yes
- mov #MAXLNG ,r0 ; /43/ No, reset it please
- 15$: cmp r1 ,#MAXLNG ; /43/ Will this fit within the
- blos 16$ ; /43/ Kermit-11 internal buffers?
- mov #MAXLNG ,r1 ; /43/ No, reset to max we allow.
- message <This size exceeds Kermit-11's internal buffering of >,cr
- decout r1 ; /43/ Inform them and reset it
- message < bytes. It has been reset to that value>,cr ; /43/ Warning
- 16$: cmp r1 ,r0 ; /43/ Will the user's size fit?
- blos 20$ ; /43/ Yes
- tst infomsg ; /43/ Really print this message?
- beq 20$ ; /43/ No
- message <This packet size exceeds the host's input buffer size of>,cr
- decout r0 ; /43/
- message < bytes. This may cause the line/port driver to loose>,cr
- message <data at rates greater than 2400 baud.>,cr
- 20$: mov r1 ,reclng ; /43/ Setup this parameter
- 30$: clr r0 ; /43/ Now setup for divide by 95
- div #95. ,r0 ; /43/ Simple
- movb r0 ,setrec+p.mxl1 ; /43/ Insert it into parameters
- movb r0 ,senpar+p.mxl1 ; /43/ Insert it into parameters
- movb r1 ,setrec+p.mxl2 ; /43/ Insert it into parameters
- movb r1 ,senpar+p.mxl2 ; /43/ Insert it into parameters
- clr r0 ; /43/ No errors
- 100$: return ; /43/ Exit
-
- .dsabl lsb
-
-
- sts$pl: call plc ; /43/ Get the value
- bcs 100$ ; /43/ Oops
- movb r1 ,setsen+p.spsiz ; /43/ set up it
- movb r1 ,conpar+p.spsiz ; /43/ It actually goes HERE
- 100$: return ; /43/ Exit
-
-
- .enabl lsb
-
- plc: calls l$val ,<argpnt> ; set the arguement now
- tst r0 ; did it work ?
- bne 120$ ; no
- cmp r1 ,#20. ; minimum of twenty
- blo 110$ ; too small
- cmp r1 ,#96. ; /43/ Large ?
- blo 90$ ; /43/ No
- br 110$ ; /43/
- 90$: clr r0
- 100$: return
-
- 110$: message <The packet size must normally be in the range 20..94>,cr
- 120$: sec
- return
-
-
- .save
- .psect $PDATA,d
- ps$max: .asciz /MAX/
- .even
- .restore
- .dsabl lsb
-
-
-
-
-
-
- .sbttl Set RECEIVE, Set SEND Padding, Padcharacter
-
-
- ; Added /57/ Brian Nelson 17-Jul-87 08:52:30
-
- sts$pd::calls octval ,<argpnt> ; get the octal value now
- tst r0 ; did it work ?
- bne 100$ ; no
- movb r1 ,senpar+p.padc ; yes,stuff it in there please
- movb r1 ,setsen+p.padc ; yes,stuff it in there please
- 100$: return ; bye
-
-
- sts$pn::calls l$val ,<argpnt> ; get the value
- tst r0 ; well ?
- bne 100$ ; no, bad value
- mov r1 ,senpar+p.npad ; ok
- mov r1 ,setsen+p.npad ; ok
- 100$: return
-
- str$pd::calls octval ,<argpnt> ; get the octal value now
- tst r0 ; did it work ?
- bne 100$ ; no
- movb r1 ,recpar+p.padc ; yes,stuff it in there please
- movb r1 ,setrec+p.padc ; yes,stuff it in there please
- 100$: return ; bye
-
-
- str$pn::calls l$val ,<argpnt> ; get the value
- tst r0 ; well ?
- bne 100$ ; no, bad value
- mov r1 ,recpar+p.npad ; ok
- mov r1 ,setrec+p.npad ; ok
- 100$: return
-
-
-
- .sbttl set escape whatever and set retry
- .enabl lsb
-
-
- set$es::calls octval ,<argpnt> ; get the octal value now
- tst r0 ; did it work ?
- bne 100$ ; no
- cmpb r1 ,#40 ; must be a control character
- blo 10$ ; ok
- message <The escape character must be a control character>,cr
- br 20$ ; exit
- 10$: mov r1 ,conesc ; store it
- 20$: return
-
-
-
- set$re::calls l$val ,<argpnt> ; SET RETRY decimal number
- tst r0 ; well ?
- bne 100$ ; no, bad value
- cmp r1 ,#3 ; a reasonable minimum ?
- bhis 30$ ; ok
- message <RETRY should be between 3 and 30>,cr
- return
- 30$: mov r1 ,maxtry ; ok
- 40$: return
-
-
-
- set$ti::calls l$val ,<argpnt> ; SET TIMEOUT decimal number
- tst r0 ; well ?
- bne 100$ ; no, bad value
- cmp r1 ,#4 ; a reasonable minimum ?
- blo 50$ ; ok
- cmp r1 ,#60. ; a reasonable maximum ?
- blos 60$ ; yes
- 50$: message <TIMEOUT should be between 4 and 60>,cr
- return
- 60$: movb r1 ,conpar+p.time ; alter remotes sinit default
- movb r1 ,setrec+p.time ; show thats it's been set
- 100$: return
-
- global <argbuf ,conesc ,conpar ,maxtry ,setrec>
-
- .dsabl lsb
-
- .sbttl set record-format (highly RMS11 dependant)
-
-
- set$rf::calls getcm0 ,<argpnt,#rfmlst>; find out which option was given
- tst r0
- bmi 100$
- jsr pc ,@r1
- clr r0
- 100$: return
-
-
- srf$st: clr df$rat ; stream ascii please for RSTS?
- movb #fb$stm ,df$rfm ; say so and exit
- return
-
- srf$va: movb #fb$cr ,df$rat ; must have this for RSX?
- movb #fb$var ,df$rfm ; r.var and fd.cr
- return
-
- global <df$rat ,df$rfm ,fb$cr ,fb$stm ,fb$var>
-
- command rfmlst ,STREAM ,3 ,srf$st
- command rfmlst ,VARIABLE,3 ,srf$va
- command rfmlst
-
-
-
- .sbttl enable or disable attribute packet transmission
-
-
- set$at::calls getcm0 ,<argpnt,#onoff>; find out which option was given
- tst r0 ; did we find one
- bmi 110$ ; no
- jsr pc ,@r1 ; dispatch now
- mov r0 ,sendat ; /42/
- clr r0 ; /42/
- 110$: return
-
-
- set$lp::calls getcm0 ,<argpnt,#onoff>; /42/ find out which option was given
- tst r0 ; /42/ did we find one
- bmi 110$ ; /42/ no
- jsr pc ,@r1 ; /42/ dispatch now
- mov r0 ,dolong ; /42/
- clr r0 ; /42/
- 110$: return
-
- st$nat::clr doattr
- clr r0
- return
-
- st$nlp::clr dolong
- clr r0
- return
-
- cm$glob = 0
-
- command onoff ,OFF ,3 ,s$of ; /42/ Change names
- command onoff ,ON ,2 ,s$on ; /42/ Change names
- command onoff ,NONE ,3 ,s$of ; /42/ Change names
- command onoff ; /42/ Change names
-
-
- s$of: clr r0
- return
-
- s$on: mov sp ,r0
- return
-
-
- global <sendat ,dolong>
-
-
- set$pr::copyz argpnt ,#prompt,#20.
- clr r0
- return
-
- global <prompt ,argbuf>
-
-
-
- .sbttl error debugging
-
-
- set$se::calls l$val ,<argpnt> ; SET SEED decimal number
- tst r0 ; well ?
- bne 100$ ; no, bad value
- mov r1 ,testc ; save it
- 100$: return
-
-
- set$ra::calls getcm0 ,<argpnt,#ranlst>; find out which option was given
- tst r0 ; did we find one
- bmi 110$ ; no
- jsr pc ,@r1 ; dispatch now
- mov r0 ,ranerr ; save for the show command
- 100$: clr r0 ; exit with no error set
- 110$: return
-
-
-
-
- cm$glob = 0
-
-
- command ranlst ,OFF ,3 ,sra$of
- command ranlst ,ON ,2 ,sra$on
- command ranlst ,NONE ,3 ,sra$of
- command ranlst
-
-
- sra$of: clr r0
- return
-
- sra$on: mov sp ,r0
- return
-
- global <ranerr ,testc>
-
-
-
-
- .sbttl set repeat on/off or to something (?)
-
-
-
- set$rp::calls getcm0 ,<argpnt,#relst>; find out which option was given
- tst r0 ; did we find one
- bmi 110$ ; no
- jsr pc ,@r1 ; dispatch now
- mov r0 ,setrpt ; save for the show command
- 100$: clr r0 ; exit with no error set
- 110$: return
-
-
- cm$glob = 0
- command relst ,OFF ,3 ,rep$of
- command relst ,ON ,2 ,rep$on
- command relst
-
-
- rep$of: clr r0
- return
-
- rep$on: mov #-1 ,r0
- return
-
- global <setrpt>
-
-
-
- .sbttl set local terminal type
-
-
- set$tt::calls getcm0 ,<argpnt,#ttlst>; find out which option was given
- tst r0 ; did we find one
- bmi 110$ ; no
- jsr pc ,@r1 ; dispatch now
- mov r0 ,vttype ; save for the show command
- 100$: clr r0 ; exit with no error set
- 110$: return
-
-
-
- cm$glob = 0
- command ttlst ,TTY ,3 ,svt$tt
- command ttlst ,VT100 ,3 ,svt$vt
- command ttlst ,VT101 ,3 ,svt$vt
- command ttlst ,VT102 ,3 ,svt$vt
- command ttlst ,VT200 ,3 ,svt$22
- command ttlst ,VT220 ,3 ,svt$22
- command ttlst
-
-
- svt$tt: clr r0
- return
-
- svt$vt: mov #vt100 ,r0
- return
-
- svt$22: mov #vt200 ,r0
- return
-
-
- global <vttype>
-
-
-
- .sbttl set various things for the console terminal
-
-
- set$co::calls getcm0 ,<argpnt,#colst>; find out which option was given
- tst r0 ; did we find one
- bmi 110$ ; no
- jsr pc ,@r1 ; dispatch now
- 100$: clr r0 ; exit with no error set
- 110$: return
-
-
-
- cm$glob = 0
- command colst ,8-BIT ,1 ,sco$8
- command colst ,7-BIT ,1 ,sco$7
- command colst ,8BIT ,1 ,sco$8
- command colst ,7BIT ,1 ,sco$7
- command colst ,8_BIT ,1 ,sco$8
- command colst ,7_BIT ,1 ,sco$7
- command colst ,PASSALL,3 ,sco$8
- command colst
-
-
- sco$7: clr con8bit
- return
-
- sco$8: mov sp ,con8bit
- return
-
- global <con8bit>
-
-
- numout: save <r0,r1,r2> ; /43/ Better formatting
- mov 2+<3*2>(sp),r1 ; /43/ Get value please
- mov r1 ,-(sp) ; /43/ Stuff it in
- clr -(sp) ; /43/ Double conversion
- mov sp ,r1 ; /43/ Address of word to convert
- sub #20 ,sp ; /43/ A buffer to use
- mov sp ,r0 ; /43/ A pointer to it
- clr r2 ; /43/ Leading zero/space suppress
- call $cddmg ; /43/ Convert
- clrb @r0 ; /43/ .Asciz
- mov sp ,r1 ; /43/ Reset pointer
- print r1 ; /43/ Dump please
- add #20+4 ,sp ; /43/ Pop Junk
- unsave <r2,r1,r0> ; /43/ Pop registers
- mov (sp)+ ,(sp) ; /43/ Move return address up
- return ; /43/ Exit
-
- .end
-